# 读取数据库表的数据，存储到本地的excel表格里
import pymysql
import xlwt
import time
import calendar
'''
思路：
    1. 获取数据库连接
    2. 创建excel并初始化
    3. 写入excel
    4. 保存到本地
'''
# 1. 获取数据库连接
conn = pymysql.connect(
    host='192.168.18.76',
    user='admin',
    passwd='Root123456!',
    db='hrdata',
    charset='utf8'
)
print("数据库连接成功！")
# 获取游标
curs = conn.cursor()
# SQL语句
sql = 'select * from occupations;'
curs.execute(sql)
rows = curs.fetchall()# 获取所有数据
# print(rows)

# 2. 初始化excel文件
w = xlwt.Workbook(encoding='uft-8')
style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() # 创建字体样式
font.name = "宋体"
style.font = font # 把字体添加到样式中
ws = w.add_sheet("厦门大数据岗位", cell_overwrite_ok=True)

# 3. 把数据写入excel
title = "id,岗位名称,单位名称," \
        "url,招聘期限,联系人," \
        "移动电话,联系电话,通信地址," \
        "工作经验,专业要求,学历要求," \
        "上班时间,岗位描述"
titles = title.split(",")
# 使用循环写入数据
for i in range(len(titles)):
    ws.write(0, i, titles[i], style)

# 开始写入数据
for i in range(len(rows)):
    row = rows[i]
    for j in range(len(row)):
        item = row[j]
        ws.write(i+1, j, item, style)

# 4. 数据保存到本地
# 计算时间戳
ts = calendar.timegm(time.gmtime())
path = '许巍杰' + str(ts) + '.xls'
w.save(path)
conn.close()

print("保存成功！")